package com.fessc.develop.entity.comvo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fessc.develop.utils.CcyConvert;
import com.fessc.develop.utils.NatConvert;
import lombok.Data;

/**
 * 跨境付汇的采购订单（小订单）
 */
@Data
public class SettlePurchaseOrderVo {

    @JsonProperty("busiPlatNo")
    String orgCode; //交易平台编号

    @JsonProperty("busiCheckCod")
    String settleId;	//预付款业务核对编码

    @JsonProperty("payInstNo")
    String payInstNo; //支付指令编号

    @JsonProperty("orderNo")
    String suborderno;	//预付款订单号

    @JsonProperty("goodsName")
    String goodsname;	//商品名称

    @JsonProperty("goodsNo")
    String goodscode;	//商品编码

    @JsonProperty("specificationModel")
    String specifications;	//规格/型号

    @JsonProperty("productionCountry")
    @JSONField(serializeUsing = NatConvert.class)
    String produceNation;	//产销国

    @JsonProperty("goodsNetWeight")
    String nw;	//商品净重

    @JsonProperty("orderAmt")
    String amount;	//订单金额

    @JsonProperty("orderCcy")
    @JSONField(serializeUsing = CcyConvert.class)
    String currency;	//订单币种

    @JsonProperty("payAmt")
    String totalAmount;	//付款金额

    @JsonProperty("chargeAmt")
    String costAmount;	//手续费金额

    @JsonProperty("payerAcct")
    String payeraccountnumber;	//付款人账号

    @JsonProperty("payerAcctName")
    String payeraccountname;	//付款人账户名称

    @JsonProperty("payBankName")
    String payerbankname;	//付款银行名称

    @JsonProperty("payBankAcct")
    String payerbankcode;	//付款行号

    @JsonProperty("payerIdNo")
    String borderidnumber;	//付款人证件号

    @JsonProperty("waitSettleAcctName")
    String settlementname;	//待结算户户名

    @JsonProperty("waitSettleAcctBank")
    String settlementbankname;	//待结算户所在行

    @JsonProperty("waitSettleAcctNo")
    String settlementaccount;	//待结算户账号

    @JsonProperty("waitSettleAcctBankNo")
    String settlementbankcode;	//待结算行号

    @JsonProperty("shopName")
    String shopName;	//商铺名称

    @JsonProperty("shopNo")
    String shopNo;	//商铺编号

    @JsonProperty("busiContractNo")
    String contractNo;	//业务合同号

    @JsonProperty("cooperativeName")
    String coopName;	//合作社/互助组名称

    @JsonProperty("cooperativeUscc")
    String coopOrgCode;	//合作社/互助组统一社会组织信用代码

    @JsonProperty("enterpriseName")
    String foreigntradeName;	//海运外贸企业名称

    @JsonProperty("enterpriseUscc")
    String foreigntradeCode;	//海运外贸企业统一社会组织信用代码

}
